import rest from "./rest";

/**
 * 返回array（数组）中最后一个元素。传递 n参数将返回数组中从最后一个元素开始的n个元素（注：返回数组里的后面的n个元素）。
 */
export function last(): [];
export function last<T>(array): T;
export function last<T>(array, n, guard?): T[]
export default function last<T>(array?: T[], n?: number, guard?): T | T[] {
    if (array == null || array.length < 1) return n == null ? void 0 : []
    if (n == null || guard) return array[array.length - 1];
    return rest(array, Math.max(0, array.length - n))

}